package com.hsurosy.domain.task.service;

import com.hsurosy.domain.task.model.entity.TaskEntity;
import com.hsurosy.domain.task.repository.ITaskRepository;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;

/**
 * @Author Hsu琛君珩
 * @Date 2024-11-15 14:09
 * @Description 消息任务服务接口
 * @Version: v1.0.0
 */
@Service
public class TaskService implements ITaskService {

    @Resource
    private ITaskRepository taskRepository; // 消息任务存储库接口

    /**
     * 查询未发送的消息任务列表
     *
     * @return 未发送消息任务的列表
     */
    @Override
    public List<TaskEntity> queryNoSendMessageTaskList() {
        return taskRepository.queryNoSendMessageTaskList();
    }

    /**
     * 发送消息任务
     *
     * @param taskEntity 消息任务实体
     */
    @Override
    public void sendMessage(TaskEntity taskEntity) {
        taskRepository.sendMessage(taskEntity);
    }

    /**
     * 更新消息任务为发送完成状态
     *
     * @param userId    用户ID
     * @param messageId 消息ID
     */
    @Override
    public void updateTaskSendMessageCompleted(String userId, String messageId) {
        taskRepository.updateTaskSendMessageCompleted(userId, messageId);
    }

    /**
     * 更新消息任务为发送失败状态
     *
     * @param userId    用户ID
     * @param messageId 消息ID
     */
    @Override
    public void updateTaskSendMessageFail(String userId, String messageId) {
        taskRepository.updateTaskSendMessageFail(userId, messageId);
    }

}
